package com.muyu.product.service.impl;

import com.muyu.common.core.domain.R;
import com.muyu.product.domain.pojo.ProductTypeAttrPO;
import com.muyu.product.domain.req.ProductTypeAttrReq;
import com.muyu.product.mapper.TypeAttrMapper;
import com.muyu.product.service.TypeAttrService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

/**
 * @ClassName TypeAttrServiceImpl
 * @Description 描述
 * @Author ShiYu.Cui
 * @Date 2024/4/1 10:23
 */
@Service
public class TypeAttrServiceImpl implements TypeAttrService {
    @Autowired
    private TypeAttrMapper typeAttrMapper;
    @Override
    public R<List<ProductTypeAttrReq>> typeAttrList(Integer productTypeId) {
        List<ProductTypeAttrReq> list=typeAttrMapper.typeAttrList(productTypeId);
        return R.ok(list);
    }

    @Override
    public R<List<ProductTypeAttrReq>> typeParameterList(Integer productTypeId) {
        List<ProductTypeAttrReq> list=typeAttrMapper.typeParameterList(productTypeId);
        return R.ok(list);
    }

    @Override
    public void delTypeAttr(Integer id) {
        typeAttrMapper.delTypeAttr(id);
    }

    @Override
    public void insertTypeAttr(ProductTypeAttrPO productTypeAttrPO) {
        typeAttrMapper.insertTypeAttr(productTypeAttrPO);
        String typeAttrValue = productTypeAttrPO.getTypeAttrValue();
        if(typeAttrValue!=null){
            ArrayList<String> strings = new ArrayList<>();
            String[] split = typeAttrValue.split(",");
            for (int i = 0; i < split.length; i++) {
                strings.add(split[i]);
            }
            typeAttrMapper.insertAttrVale(strings,productTypeAttrPO.getId());
        }
    }

    @Override
    public void updateTypeAttr(ProductTypeAttrPO productTypeAttrPO) {
        typeAttrMapper.updateTypeAttr(productTypeAttrPO);
        if(productTypeAttrPO.getTypeAttrValue()!=null){
            ArrayList<String> strings = new ArrayList<>();
            String[] split = productTypeAttrPO.getTypeAttrValue().split(",");
            for (int i = 0; i < split.length; i++) {
                strings.add(split[i]);
            }
            typeAttrMapper.deleteAttrValue(productTypeAttrPO.getId());
            typeAttrMapper.insertAttrVale(strings, productTypeAttrPO.getId());
        }
    }


}
